// components/input-number/index.js
Component({
  /** 
   * 组件的属性列表
   */
  properties: {
    num: { // 属性名
      type: Number,
      value: 1
    },
    expandAttr: {
      type:Object,
      value:{}
    } 
  },

  /**
   * 组件的初始数据
   */
  data: {
    minusStatus: 'normal'
  },

  /**
   * 组件的方法列表
   */
  methods: {
    bindManual: function(e) {
      this.setData({
        num: e.detail.value
      });
      this.triggerEvent("changeValue", {count: e.detail.value, expand: this.data.expandAttr});
    },
    bindPlus: function() {
      var num = this.data.num;
      // 不作过多考虑自增1  
      num++;
      // 只有大于一件的时候，才能normal状态，否则disable状态  
      var minusStatus = num < 1 ? 'disabled' : 'normal';
      // 将数值与状态写回  
      this.setData({
        num: num,
        minusStatus: minusStatus
      });
      this.triggerEvent("changeValue", {count: num, expand: this.data.expandAttr});
    },
    bindMinus: function() {
      var num = this.data.num;
      // 如果大于1时，才可以减  
      if (num > 1) {
        num--;
      }
      // 只有大于一件的时候，才能normal状态，否则disable状态  
      var minusStatus = num <= 1 ? 'disabled' : 'normal';
      // 将数值与状态写回  
      this.setData({
        num: num,
        minusStatus: minusStatus
      });
      this.triggerEvent("changeValue", {count: num, expand: this.data.expandAttr});
    }
  }
})
